package org.dsc.amafinder2chance;

import org.dsc.amafinder2chance.model.AmfQR;
import org.dsc.sdk.DSC;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RadioGroup;

import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdSize;
import com.google.android.gms.ads.AdView;

public class ASearch extends Activity implements
		RadioGroup.OnCheckedChangeListener, View.OnClickListener {
	private static final String TAG = "afr." + ASearch.class.getSimpleName();

	private EditText descuentoToSearch;
	private EditText articuloToSearch;
	private Button btnSearch;	
	private String paisBusqueda;
	private AdView adView;
	//private static final String AD_UNIT_ID = "ca-app-pub-9849861480730257/6518579123";
	private static final String AD_UNIT_ID = "88830257/6888";
	private LinearLayout layoutPubli; 

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		Log.i(TAG, "onCreate::" + toString());
		setContentView(R.layout.asearch);
		paisBusqueda="es";
		
		if (!ServicioFavoritos.isRunning()){
			Log.i(TAG, "Iniciamos el service desde ASEARCH:" + toString());
			Intent service = new Intent(this, ServicioFavoritos.class);
			this.startService(service);
		}else{
			Log.i(TAG, "El service YA ESTA INICIADO:" + toString());
		}

		RadioGroup mRadioGroup = (RadioGroup) findViewById(R.id.radioGroup1);
		//Necesitamos calcular el radio que está seleccionado al entrar en la pantalla
		paisBusqueda = calcularRadioSeleccionado(mRadioGroup, mRadioGroup.getCheckedRadioButtonId());
		Log.i(TAG, "paisBusqueda al entrar en la pantalla de busqueda: " + paisBusqueda);
		//Si se chequea otro radio necesitamos calcularlo con este listener.
		mRadioGroup.setOnCheckedChangeListener(this);
		Log.i(TAG, "paisBusqueda al seleccionar otro radio: " + paisBusqueda);
		
		descuentoToSearch = (EditText) findViewById(R.id.descuentoToSearch);
		// get a reference to the AutoCompleteTextView in the layout

		articuloToSearch = (EditText) findViewById(R.id.articuloToSearch);

		btnSearch = (Button) findViewById(R.id.btnSearch);
		btnSearch.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				String url = AmfQR.formatUrl(descuentoToSearch.getText()
						.toString(), articuloToSearch.getText().toString(),
						paisBusqueda);				
				lanzar(url, paisBusqueda);
			}
		});
		// Crear adView.
				adView = new AdView(this);
				adView.setAdUnitId(AD_UNIT_ID);
				adView.setAdSize(AdSize.BANNER);
				// Buscar LinearLayout suponiendo que se le ha asignado
				
				layoutPubli = (LinearLayout) findViewById(R.id.PubliLayoutSearch);

				// Añadirle adView.
				layoutPubli.addView(adView);

				// Iniciar una solicitud genérica.
				 AdRequest adRequest = new AdRequest.Builder().build();

				//AdRequest adRequest = new AdRequest.Builder()	.build();

				// Cargar adView con la solicitud de anuncio.
				adView.loadAd(adRequest);
	}

	private String calcularRadioSeleccionado(RadioGroup mRadioGroup, int checkedId) {
		paisBusqueda = "es";
		if (checkedId == R.id.radioButtonES) {
			paisBusqueda = "es";
		}
		if (checkedId == R.id.radioButtonFR) {
			paisBusqueda = "fr";
		}
		if(checkedId == R.id.radioButtonDE){
	        paisBusqueda="de";
	   }
		if(checkedId == R.id.radioButtonIT){
	        paisBusqueda="it";
	   }
		if(checkedId == R.id.radioButtonUK){
	        paisBusqueda="co.uk";
	   }
		return paisBusqueda;
	}

	@Override
	protected void onResume() {
		 super.onResume();
	      DSC.A(this).resume();
	}

	@Override
	protected void onRestart() {
		 super.onRestart();
	      DSC.A(this).restart();
	}

	@Override
	public void onPause() {
		adView.pause();
		super.onPause();		
	}

	@Override
	public void onDestroy() {
		adView.destroy();
		super.onDestroy();
	}

	protected void lanzar(String url, String pais) {
		Intent AWebViewIntent = new Intent().setClass(this, AWebView.class);
		AWebViewIntent.putExtra("URL", url);
		AWebViewIntent.putExtra("PAISBUSQUEDA", pais);
		startActivity(AWebViewIntent);
	}

	// Lo vuelvo a poner aqui ya que no estaban funcionando correctamente las
	// clases que debería pintar si se quiere salir o no
	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if (keyCode == KeyEvent.KEYCODE_BACK) {
			DlgCloseApp.mostrar(this);
		}
		// para las demas cosas, se reenvia el evento al listener habitual
		return super.onKeyDown(keyCode, event);

	}

	/*
	 * @ini-menu-action-bar
	 */
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu items for use in the action bar
		getMenuInflater().inflate(R.menu.main_activity_actions, menu);
		menu.findItem(R.id.action_search).setIntent(
				new Intent(this, ASearch.class));
		menu.findItem(R.id.action_info)
				.setIntent(new Intent(this, AInfo.class));
		menu.findItem(R.id.action_favorites)
		.setIntent(new Intent(this, AFavorites.class));
		return super.onCreateOptionsMenu(menu);
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case R.id.action_search:
			descuentoToSearch.setText("");
			articuloToSearch.setText("");
			break;
		case R.id.action_info:
		case R.id.action_favorites:	
			startActivity(item.getIntent());
	         break;
		default:
			return super.onOptionsItemSelected(item);
		}
		return true;
	}

	/*
	 * @end-menu-action-bar
	 */

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub

	}

	@Override
	public void onCheckedChanged(RadioGroup group, int checkedId) {
		if (checkedId == R.id.radioButtonES) {
			paisBusqueda = "es";
		}
		if (checkedId == R.id.radioButtonFR) {
			paisBusqueda = "fr";
		}
		if(checkedId == R.id.radioButtonDE){
	        paisBusqueda="de";
	   }
		if(checkedId == R.id.radioButtonIT){
	        paisBusqueda="it";
	   }
		if(checkedId == R.id.radioButtonUK){
	        paisBusqueda="co.uk";
	   }
	}	
	
}
